home *** CD-ROM | disk | FTP | other *** search
/ MGE USV-Infopaket 2003 January / MGE USV Infopaket Ausgabe 1-2003 (German).iso / SOFTWARE / WEB-SNMP-GUIDE / ups / nmsmgr.js next >
Text File  |  2002-11-06  |  16KB  |  649 lines

  1. Array.prototype.name=null;
  2. AD_index = new Array(32);
  3. AD_num = new Array(32);
  4. AD_type = new Array(32);
  5. AD_ptl = new Array(32);
  6. AD_level = new Array(32);
  7. AD_addr = new Array(32);
  8. AD_descr = new Array(32);
  9. AD_comm = new Array(32);
  10.  
  11. NAD_index = new Array(32);
  12. NAD_num = new Array(32);
  13. NAD_type = new Array(32);
  14. NAD_ptl = new Array(32);
  15. NAD_level = new Array(32);
  16. NAD_addr = new Array(32);
  17. NAD_descr = new Array(32);
  18. NAD_comm = new Array(32);
  19.  
  20. VAD_index = new Array(32);
  21. VAD_num = new Array(32);
  22. VAD_type = new Array(32);
  23. VAD_ptl = new Array(32);
  24. VAD_level = new Array(32);
  25. VAD_addr = new Array(32);
  26. VAD_descr = new Array(32);
  27. VAD_comm = new Array(32);
  28.  
  29. TindexInfo = new Array(32);
  30.  
  31. INDEX_MODE     = 0;
  32. NUM_MODE       = 1;
  33. TYPE_MODE      = 2;
  34. PTL_MODE       = 3;
  35. LEVEL_MODE     = 4;
  36. ADDR_MODE      = 5;
  37. COMM_MODE      = 6;
  38. DESCR_MODE     = 7;
  39.  
  40.  
  41. DISP_MODE       = 0;
  42. MODIFY_MODE     = 1;
  43. ADD_MODE        = 2;
  44. EMPTY_MODE      = 3;
  45. //MODIFY_MODE     = 1;
  46. //ADD_MODE        = 1;
  47. //EMPTY_MODE      = 2;
  48.  
  49. Hspace_str = " ";
  50. Dspace_str =' ';
  51. IsNetscape = false;
  52.  
  53. index_str = new Array("1","2","3","4","5","6","7","8","9","10",
  54. "11","12","13","14","15","16","17","18","19","20",
  55. "21","22","23","24","25","26","27","28","29","30",
  56. "31","32");
  57. num_str = new Array("0","1","2","3","4","5","6","7","8","9","10",
  58. "11","12","13","14","15","16","17","18","19","20",
  59. "21","22","23","24","25","26","27","28","29","30",
  60. "31","32");
  61. type_str = new Array("umclient","decnetview","umview","dview","hpopenview","sunnetmanager",
  62. "novellnms","ibmnetview","other","autolearning");
  63. ptl_str = new Array("other","invalid","cmip","snmpv1","snmpv2");
  64. level_str = new Array("zero","one","two","three","four","five","six","seven"); 
  65.  
  66. disp_type_str = new Array("Um-Client","DEC-NetView","UM-View","D-View","HP-OpenView",
  67. "Sun-SNM","Novell-NMS","IBM-NetView","Other","Autolearning");
  68. disp_ptl_str = new Array("Other","Invalid","OSI CMIP","SNMP V1","SNMP V2");
  69. disp_level_str = new Array("0","Critical","Severe","Warning","Informational","5","6","7");                       
  70.  
  71. TotalItem=0;
  72.  
  73. Prlen=0;
  74. ptr=0;
  75. //descr_maxlen = 18;
  76. descr_maxlen = 25;
  77.  
  78. var cnt_index=0, cnt_num=0, cnt_type=0, cnt_ptl=0, cnt_level=0, cnt_addr=0, cnt_descr=0, cnt_comm=0;
  79. var empty_flag=1;
  80.  
  81. function getIndex(index){
  82. AD_index[cnt_index]=index;
  83. cnt_index++;
  84. }
  85.  
  86. function getNum(name, num){
  87. AD_num[cnt_num]=num;
  88. NAD_num[cnt_num]=name;
  89. cnt_num++;
  90. }
  91.  
  92. function getType(name, type){     
  93. AD_type[cnt_type]=type;
  94. NAD_type[cnt_type]=name;
  95. cnt_type++;
  96. }
  97.  
  98. function getPtl(name, ptl){
  99. AD_ptl[cnt_ptl]=ptl;
  100. NAD_ptl[cnt_ptl]=name;
  101. cnt_ptl++;
  102. }
  103.  
  104. function getLevel(name, level){
  105. AD_level[cnt_level]=level;
  106. NAD_level[cnt_level]=name;
  107. cnt_level++;
  108. }
  109.  
  110. function getAddr(name, addr){
  111. AD_addr[cnt_addr]=addr;
  112. NAD_addr[cnt_addr]=name;
  113. cnt_addr++;
  114. }
  115.  
  116. function getDescr(name, descr){
  117. AD_descr[cnt_descr]=descr;
  118. NAD_descr[cnt_descr]=name;
  119. cnt_descr++;
  120. }
  121.  
  122. function getComm(name, comm){
  123. AD_comm[cnt_comm]=comm;
  124. NAD_comm[cnt_comm]=name;
  125. cnt_comm++;
  126. }
  127.  
  128. function addSpace1(mode, te, val){
  129. var i, scut, tmp, sval;
  130. var ret, len;
  131. var len = 1;
  132. var totalspace = 90;
  133.  
  134. if(IsNetscape){
  135. if(mode == EMPTY_MODE){
  136. ret = " ";
  137. for(i=0; i<100; i++)
  138. ret += "  ";
  139. return(ret);
  140. }
  141. }
  142. else{
  143. var objrow = my_table.rows;
  144. var objcell = objrow[1].cells;
  145. if(mode == EMPTY_MODE){
  146. ret = " ";
  147. for(i=0; i<100; i++)
  148. ret += " ";
  149. my_table.width = 560 + descr_maxlen*9.4;
  150. main_table.width = my_table.width;
  151. objcell[7].width=descr_maxlen*9.4;
  152. return(ret);
  153. }
  154. }
  155.  
  156. len = val.length;
  157. if(mode == DISP_MODE){
  158. tmp = " ";
  159. sval = "  ";}
  160. else{
  161. tmp = " ";
  162. sval = "  ";}
  163. switch (te){
  164. case 0:
  165. ret = val;
  166. ptr = len;
  167. if(!IsNetscape)
  168. objcell[0].width = 32;
  169. break;
  170. case 1:
  171. scut = 6-ptr ;
  172. for(i=0; i<(scut-1); i++)
  173. sval = tmp + sval;
  174. ret = sval + val;
  175. ptr = 6+len;
  176. if(!IsNetscape)
  177. objcell[1].width = 52;
  178. break;
  179. case 2:
  180. scut = 10-ptr;
  181. for(i=0; i<(scut-1); i++)
  182. sval = tmp + sval;
  183. ret = sval + val;
  184. ptr = 10+len;
  185. if(!IsNetscape)
  186. objcell[2].width = 90;
  187. break;
  188. case 3:
  189. scut = 22-ptr;
  190. for(i=0; i<(scut-1); i++)
  191. sval = tmp + sval;
  192. ret = sval + val;
  193. ptr = 22+len;
  194. if(!IsNetscape)
  195. objcell[3].width = 86;
  196. break;
  197. case 4:
  198. scut = 32-ptr;
  199. for(i=0; i<(scut-1); i++)
  200. sval = tmp + sval;
  201. ret = sval + val;
  202. ptr = 32+len;
  203. if(!IsNetscape)
  204. objcell[4].width = 110;
  205. break;
  206. case 5:
  207. scut = 47-ptr;
  208. for(i=0; i<(scut-1); i++)
  209. sval = tmp + sval;
  210. ret = sval + val;
  211. ptr = 47+len;
  212. if(!IsNetscape)
  213. objcell[5].width = 130;
  214. break;
  215. case 6:
  216. scut = 63-ptr;
  217. for(i=0; i<(scut-1); i++)
  218. sval = tmp + sval;
  219. ret = sval + val;
  220. ptr = 63+len;
  221. if(!IsNetscape)
  222. objcell[6].width = 130;
  223. break;
  224. case 7:
  225. scut = 81-ptr;
  226. for(i=0; i<(scut-1); i++)
  227. sval = tmp + sval;
  228. ret = sval + val;
  229. ptr = 81+len;
  230.  
  231. if(len > descr_maxlen){
  232. descr_maxlen = len;
  233. }
  234.  
  235. if(!IsNetscape){
  236. my_table.width = 560 + descr_maxlen*9.4;
  237. main_table.width = my_table.width;
  238. //                          objcell[7].width=descr_maxlen*9.4;
  239. }
  240.  
  241. if(len < descr_maxlen){
  242. scut = descr_maxlen - len;
  243. for(i=0; i<scut; i++)
  244. ret = ret + tmp;
  245. }
  246.  
  247. break;
  248. default:
  249. break;
  250. }
  251. Prlen = len;
  252. return(ret);                
  253. }
  254.  
  255.  
  256. function displayAll(){
  257. var id;
  258. var bname = navigator.appName;
  259.  
  260. if (bname == "Netscape") IsNetscape = true;        
  261. mapInit();
  262. for(id=0; id<32; id++){
  263. if(AD_addr[id] == "0.0.0.0"){
  264. if((empty_flag==1) && (id == 31)){
  265. document.write('<option>');
  266. document.write(addSpace1(EMPTY_MODE, 0));
  267. document.write('</option>');
  268. }
  269. //                return("none");
  270. }
  271. else{
  272. document.write('<option>');
  273. document.write(addSpace1(DISP_MODE, INDEX_MODE, AD_index[id]));
  274. document.write(addSpace1(DISP_MODE, NUM_MODE, AD_num[id]));
  275. document.write(addSpace1(DISP_MODE, TYPE_MODE, cvtDispFormat(TYPE_MODE,AD_type[id])));
  276. document.write(addSpace1(DISP_MODE, PTL_MODE, cvtDispFormat(PTL_MODE,AD_ptl[id])));
  277. document.write(addSpace1(DISP_MODE, LEVEL_MODE, cvtDispFormat(LEVEL_MODE,AD_level[id])));
  278. document.write(addSpace1(DISP_MODE, ADDR_MODE, AD_addr[id]));
  279. document.write(addSpace1(DISP_MODE, COMM_MODE, AD_comm[id]));
  280. document.write(addSpace1(DISP_MODE, DESCR_MODE, AD_descr[id]));
  281. document.write('</option>');
  282. TindexInfo[TotalItem] = AD_index[id];
  283. TotalItem++;
  284. empty_flag = 0;
  285. }
  286. }
  287. }
  288.  
  289. function mapInit(){
  290. var i;
  291. for(i=0; i<32; i++){
  292. VAD_index[i]= AD_index[i];
  293. VAD_num[i]  = AD_num[i];  
  294. VAD_type[i] = AD_type[i]; 
  295. VAD_ptl[i]  = AD_ptl[i];  
  296. VAD_level[i]= AD_level[i];
  297. VAD_addr[i] = AD_addr[i]; 
  298. VAD_descr[i]= AD_descr[i];
  299. VAD_comm[i] = AD_comm[i];
  300. }
  301. }
  302.  
  303.  
  304. function update_sb(obj){
  305. var i;
  306. var cindex=0,cnum=0,ctype=0,cptl=0,clevel=0;
  307. var id=0;
  308. var tmp;
  309.  
  310. if(TotalItem == 0) return(false);
  311.  
  312. tmp = TindexInfo[obj.selectedIndex];
  313. for(i=0; i<32; i++)
  314. if(tmp.toUpperCase() == index_str[i].toUpperCase()){
  315. id = i;
  316. break;
  317. }
  318.  
  319. for(i=0; i<33; i++)
  320. if(VAD_num[id].toUpperCase() == num_str[i].toUpperCase()){
  321. cnum = i;
  322. break;
  323. }
  324.  
  325. for(i=0; i<10; i++)
  326. if(VAD_type[id].toUpperCase() == type_str[i].toUpperCase()){
  327. ctype = i;
  328. break;
  329. }
  330.  
  331. for(i=0; i<5; i++)
  332. if(VAD_ptl[id].toUpperCase() == ptl_str[i].toUpperCase()){
  333. cptl = i;
  334. break;
  335. }
  336.  
  337. for(i=0; i<8; i++)
  338. if(VAD_level[id].toUpperCase() == level_str[i].toUpperCase()){
  339. clevel = i;
  340. break;
  341. }
  342.  
  343. document.Mgr.D3.selectedIndex=cnum;
  344. document.Mgr.NMStype.selectedIndex=ctype;
  345. document.Mgr.D2.selectedIndex=cptl;
  346. document.Mgr.Hlevel.selectedIndex=clevel;
  347. document.Mgr.index.value=VAD_index[id];
  348. document.Mgr.Haddr.value=VAD_addr[id];
  349. document.Mgr.Hcomm.value=VAD_comm[id];
  350. document.Mgr.Hdescr.value=VAD_descr[id];
  351. }
  352.  
  353. function modify_item(){
  354. var i, tmp, someAll;
  355. var ix, indexNum, d1ix;
  356.  
  357.  
  358. indexNum = parseInt(document.Mgr.index.value);
  359. if(indexNum == 0){
  360. alert("No Item Selected");
  361. return(false);
  362. }
  363. if(verifyIP(document.Mgr.Haddr.value, MODIFY_MODE, indexNum-1) == false) return(false);
  364. ix = indexNum-1;
  365. d1ix = document.Mgr.D1.selectedIndex;
  366. tmp = document.Mgr.D3.selectedIndex;
  367. VAD_num[ix] = num_str[tmp];
  368. tmp = document.Mgr.NMStype.selectedIndex;
  369. VAD_type[ix] = type_str[tmp];
  370. tmp = document.Mgr.D2.selectedIndex;
  371. VAD_ptl[ix] = ptl_str[tmp]
  372. tmp = document.Mgr.Hlevel.selectedIndex;
  373. VAD_level[ix] = level_str[tmp];
  374. VAD_addr[ix] = document.Mgr.Haddr.value;
  375. VAD_descr[ix] = document.Mgr.Hdescr.value;
  376. VAD_comm[ix] = document.Mgr.Hcomm.value;
  377.  
  378. someAll = addSpace1(MODIFY_MODE, INDEX_MODE, VAD_index[ix])+
  379. addSpace1(MODIFY_MODE, NUM_MODE, VAD_num[ix])+
  380. addSpace1(MODIFY_MODE, TYPE_MODE, cvtDispFormat(TYPE_MODE, VAD_type[ix]))+
  381. addSpace1(MODIFY_MODE, PTL_MODE, cvtDispFormat(PTL_MODE,VAD_ptl[ix]))+
  382. addSpace1(MODIFY_MODE, LEVEL_MODE, cvtDispFormat(LEVEL_MODE,VAD_level[ix]))+
  383. addSpace1(MODIFY_MODE, ADDR_MODE, VAD_addr[ix])+
  384. addSpace1(MODIFY_MODE, COMM_MODE, VAD_comm[ix])+
  385. addSpace1(MODIFY_MODE, DESCR_MODE, VAD_descr[ix]);
  386. document.Mgr.D1[d1ix].text = someAll;
  387. }
  388.  
  389. function add_item(obj){
  390. var i, tmp, someAll;
  391. var op,addindex;
  392. var limt_flag = true;
  393.  
  394. for(i=0; i<32; i++)
  395. if(VAD_addr[i] == "0.0.0.0"){
  396. addindex=i;
  397. limt_flag = false;
  398. break;
  399. }
  400. if(limt_flag == true){
  401. alert("Over Item Limitation 32");
  402. return(false);
  403. }
  404. if(verifyIP(document.Mgr.Haddr.value, ADD_MODE, 0) == false) return(false);
  405. tmp = document.Mgr.D3.selectedIndex;
  406. VAD_num[addindex] = num_str[tmp];
  407. tmp = document.Mgr.NMStype.selectedIndex;
  408. VAD_type[addindex] = type_str[tmp];
  409. tmp = document.Mgr.D2.selectedIndex;
  410. VAD_ptl[addindex] = ptl_str[tmp]
  411. tmp = document.Mgr.Hlevel.selectedIndex;
  412. VAD_level[addindex] = level_str[tmp];
  413. VAD_addr[addindex] = document.Mgr.Haddr.value;
  414. VAD_descr[addindex] = document.Mgr.Hdescr.value;
  415. VAD_comm[addindex] = document.Mgr.Hcomm.value;
  416.  
  417. someAll = addSpace1(ADD_MODE, INDEX_MODE, VAD_index[addindex])+
  418. addSpace1(ADD_MODE, NUM_MODE, VAD_num[addindex])+
  419. addSpace1(ADD_MODE, TYPE_MODE, cvtDispFormat(TYPE_MODE, VAD_type[addindex]))+
  420. addSpace1(ADD_MODE, PTL_MODE, cvtDispFormat(PTL_MODE, VAD_ptl[addindex]))+
  421. addSpace1(ADD_MODE, LEVEL_MODE, cvtDispFormat(LEVEL_MODE, VAD_level[addindex]))+
  422. addSpace1(ADD_MODE, ADDR_MODE, VAD_addr[addindex])+
  423. addSpace1(ADD_MODE, COMM_MODE, VAD_comm[addindex])+
  424. addSpace1(ADD_MODE, DESCR_MODE, VAD_descr[addindex]);
  425. op = new Option(someAll);
  426. eval("obj.options[TotalItem]=op");
  427. TindexInfo[TotalItem] = VAD_index[addindex];
  428. TotalItem++;
  429. }
  430.  
  431. function del_item(obj){
  432. var i, indexNum, ix, tmp, tmp1=0;
  433. var j,k=0;
  434.  
  435. indexNum = parseInt(document.Mgr.index.value);
  436. if(indexNum == 0){
  437. alert("No Item Selected");
  438. return(false);
  439. }
  440.  
  441. ix = indexNum-1;
  442. VAD_num[ix] = "0";
  443. VAD_type[ix] = "other";
  444. VAD_ptl[ix] = "invalid";
  445. VAD_level[ix] = "two";
  446. VAD_addr[ix] = "0.0.0.0";
  447. VAD_comm[ix] = "public";
  448. VAD_descr[ix] = "";
  449.  
  450. for(i=0; i<32; i++)
  451. if(document.Mgr.index.value == TindexInfo[i]){
  452. obj.options[i]=null;
  453. break;
  454. }
  455.  
  456. for(i=0; i<32; i++){
  457. for(j=0; j<32; j++)
  458. if(TindexInfo[i] == index_str[j]){
  459. tmp1 = j;
  460. break;
  461. }
  462.  
  463. if(VAD_addr[tmp1] != "0.0.0.0")
  464. TindexInfo[k++] = VAD_index[tmp1];
  465. }
  466. document.Mgr.index.value = "0";
  467. document.Mgr.D3.selectedIndex = 0;
  468. document.Mgr.NMStype.selectedIndex = 0;
  469. document.Mgr.D2.selectedIndex = 0;
  470. document.Mgr.Hlevel.selectedIndex = 0;
  471. document.Mgr.Haddr.value = "0.0.0.0";
  472. document.Mgr.Hcomm.value = "";
  473. document.Mgr.Hdescr.value = "";
  474. TotalItem-- ;
  475. }
  476.  
  477. function writedata(){
  478. var i,j;
  479. var wnum = new Array(AD_num, VAD_num, NAD_num);
  480. var wtype = new Array(AD_type, VAD_type, NAD_type);
  481. var wptl = new Array(AD_ptl, VAD_ptl, NAD_ptl);
  482. var wlevel = new Array(AD_level, VAD_level, NAD_level);
  483. var waddr = new Array(AD_addr, VAD_addr, NAD_addr);
  484. var wdescr = new Array(AD_descr, VAD_descr, NAD_descr);
  485. var wcomm = new Array(AD_comm, VAD_comm, NAD_comm);
  486.  
  487. var con_type = new Array(32);
  488. var con_ptl = new Array(32);
  489. var con_level = new Array(32);
  490.  
  491. for(i=0; i<32; i++){
  492. con_type[i] = converDATA(wtype[1][i],TYPE_MODE);
  493. con_ptl[i] = converDATA(wptl[1][i],PTL_MODE);
  494. con_level[i] = converDATA(wlevel[1][i],LEVEL_MODE);
  495. }
  496.  
  497. document.write('<FORM ACTION="SET_MGR.htm" METHOD="POST" NAME="f1">');
  498. for(i=0; i<32; i++){
  499. if(wnum[1][i] != wnum[0][i])
  500. document.write('<input type="hidden" name="'+wnum[2][i]+'"'+' value="'+wnum[1][i]+'"'+'>');
  501.  
  502. if(wtype[1][i] != wtype[0][i])
  503. document.write('<input type="hidden" name="'+wtype[2][i]+'"'+' value="'+con_type[i]+'"'+'>');
  504.  
  505. if(wptl[1][i] != wptl[0][i])
  506. document.write('<input type="hidden" name="'+wptl[2][i]+'"'+' value="'+con_ptl[i]+'"'+'>');
  507.  
  508. if(wlevel[1][i] != wlevel[0][i])
  509. document.write('<input type="hidden" name="'+wlevel[2][i]+'"'+' value="'+con_level[i]+'"'+'>');
  510.  
  511. if(waddr[1][i] != waddr[0][i])
  512. document.write('<input type="hidden" name="'+waddr[2][i]+'"'+' value="'+waddr[1][i]+'"'+'>');
  513.  
  514. if(wcomm[1][i] != wcomm[0][i])
  515. document.write('<input type="hidden" name="'+wcomm[2][i]+'"'+' value="'+wcomm[1][i]+'"'+'>');
  516.  
  517. if(wdescr[1][i] != wdescr[0][i])
  518. document.write('<input type="hidden" name="'+wdescr[2][i]+'"'+' value="'+wdescr[1][i]+'"'+'>');
  519.  
  520. }
  521. document.write('</form>');
  522. document.close();
  523. document.f1.submit();
  524. }
  525.  
  526. function converDATA(val, tp){
  527. var i;
  528. var rent=0;
  529. switch(tp){
  530. case 2:
  531. for(i=0; i<10; i++)
  532. if(val.toUpperCase() == type_str[i].toUpperCase())
  533. rent = i+1;
  534. break;
  535. case 3:
  536. for(i=0; i<5; i++)
  537. if(val.toUpperCase() == ptl_str[i].toUpperCase())
  538. rent = i+1;
  539. break;
  540. case 4:
  541. for(i=0; i<8; i++)
  542. if(val.toUpperCase() == level_str[i].toUpperCase())
  543. rent = i;
  544. break;
  545. default:
  546. break;
  547. }
  548. return(rent);        
  549. }
  550.  
  551. function cvtDispFormat(mod , val){
  552. var i, retVal;
  553.  
  554. switch (mod){
  555. case 2:
  556. for(i=0; i<10; i++)
  557. if(val == type_str[i])
  558. retVal = disp_type_str[i];
  559. break;
  560. case 3:
  561. for(i=0; i<5; i++)
  562. if(val == ptl_str[i])
  563. retVal = disp_ptl_str[i];
  564. break;
  565. case 4:
  566. for(i=0; i<8; i++)
  567. if(val == level_str[i])
  568. retVal = disp_level_str[i];
  569. break;
  570. default:
  571. break;
  572. }
  573. return(retVal);
  574. }
  575.  
  576.  
  577. function verifyIP (IPvalue, mode, num) { 
  578. errorString = ""; 
  579. theName = "IPaddress"; 
  580.  
  581. var ipArray=IPvalue.split(".");
  582. var ipInt;
  583. var everyip;
  584.  
  585. if(ipArray.length != 4){
  586. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  587. alert (errorString); 
  588. return false;
  589. }
  590.  
  591. for(i=0; i<4; i++){
  592. everyip = ipArray[i].split("");
  593. for(j=0; j<ipArray[i].length; j++){
  594. ipInt = parseInt(everyip[j]);
  595. if(isNaN(ipInt)){
  596. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  597. alert (errorString); 
  598. return false;
  599. }
  600. }
  601.  
  602. if (IPvalue == "0.0.0.0") 
  603. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  604. else if (IPvalue == "255.255.255.255") 
  605. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  606. if (!ipArray||!ipArray[0]||!ipArray[1]||!ipArray[2]||!ipArray[3]||ipArray.length>4) 
  607. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  608. else{ 
  609. for (i = 0; i < 4; i++) { 
  610. thisSegment = ipArray[i];
  611. ipInt = parseInt(ipArray[i])
  612. if (isNaN(ipInt)) { 
  613. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  614. i = 4; 
  615. if (thisSegment > 255) { 
  616. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  617. i = 4; 
  618. }
  619. if ((i == 0) && (thisSegment > 255)) { 
  620. errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.'; 
  621. i = 4; 
  622.  
  623. if (errorString == ""){
  624. for(i=0; i<32; i++){
  625. if((mode == MODIFY_MODE) && (i == num)) i++;
  626. if (IPvalue == VAD_addr[i]){
  627. errorString = errorString + theName + ': '+IPvalue+' is a duplicate IP address.'; 
  628. break;
  629. }
  630. }
  631. }
  632. extensionLength = 3;
  633.  
  634. if (errorString == "") 
  635. <!--  alert ("That is a valid IP address.(0)"); -->
  636. return true;
  637. else {
  638. alert (errorString); 
  639. return false;
  640. }
  641.  
  642.  
  643.